package com.carl.zlds.service;

import com.carl.zlds.pojo.dto.AccountSearchDTO;
import com.carl.zlds.tool.common.PageBO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carl.zlds.model.GameAccount;
import com.carl.zlds.pojo.dto.SaveGameAccountDTO;
import com.carl.zlds.pojo.vo.GameAccountVO;
import com.carl.zlds.pojo.vo.StatVO;

import java.util.Map;

/**
 * @author carl
 */
public interface IGameAccountService extends IService<GameAccount> {

    void saveGameAccount(Long id, SaveGameAccountDTO dto);

    void deleteGameAccount(Long id);

    Map<String, Object> getGameAccountList(Long gameId, Integer status, PageBO pageBO);

    Map<String, Object> getTopLevelList(Long gameId, Integer limit);

    Map<String, Object> getTopLevelDeal(Long gameId);

    Map<String, Object> statDeal(Long gameId);

    Map<String, Object> getHomeList(Long gameId, Integer topLevel, Integer up, Integer limit);

    StatVO statTotalAccount(Long gameId);

    GameAccountVO getInfo(Long gameId, Long id);

    void soldGameAccount(Long id);

    Map<String, Object> getHomeLatestList(Long gameId, Integer yesterday, Integer limit);

    Map<String, Object> accountSearch(AccountSearchDTO accountSearchDTO, PageBO pageBO);
}
